<template>
    <div class="studentifo">
        <h3 v-text="msg"></h3>
        <p>学校名：{{name}}</p>
        <p>地址：{{address}}</p>
    </div>
</template>

<script>
//引入消息订阅对象
import pubsub from "pubsub-js"

export default {
    name:"School",
    data(){
        return {
            msg:"学校信息",
            name:'TJCU',
            address:'天津'
        }
    },
    methods:{
    },

    //在挂载完毕后订阅消息
    mounted(){
        //第一个参数为订阅的消息名，第二个为回调函数,回调函数可以收到两个参数（1.消息名称 2.传递过来的数据）
        //关于this指向，使用普通函数this指向undefined（第三方库）==修改为箭头函数则为组件实例对象
        //在挂载阶段订阅消息，在组件销毁前取消订阅，每次订阅消息会接收到一个对象，应销毁该对象。
        this.pubId = pubsub.subscribe('message',(msgName,data)=>{
            console.log(`组件名：${msgName},消息：${data}`);
        })
    },
    beforeDestroy(){
        pubsub.unsubscribe(this.pubId)
    }
}
</script>

<style>
    .studentifo{
        background-color: black;
    }
</style>
